package br.ufal.ic.p3.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;

import br.ufal.ic.p3.informacao.Contato;

public class ContatoDao {
	
	private DaoUtilidades daoUtilidades;

	public ContatoDao() {
		daoUtilidades = new DaoUtilidades();
	}

	public void inserir(Contato contato) {

		Connection conn = null;
		java.sql.PreparedStatement stmt = null;
		int i = 0;

		try {

			conn = daoUtilidades.getConection();
			stmt = conn
					.prepareStatement("insert into CONTATO (telefone1, telefone2, email) values (?,?,?)");
			stmt.setString(++i, contato.getTelefoneResidencial());
			stmt.setString(++i, contato.getTelefonePessoal());
			stmt.setString(++i, contato.getEmail());
			stmt.executeUpdate();

			System.out.println("Em ContatoDao!!");

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			if (stmt != null) {
				try {
					stmt.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}

	public int idContato(Contato contato) {

		int v = 0;
		Connection conn = null;
		java.sql.PreparedStatement stmt = null;
		try {
			conn = daoUtilidades.getConection();

			String consulta = "SELECT MAX(idContato) FROM CONTATO;";
			stmt = conn.prepareStatement(consulta);
			ResultSet rs = stmt.executeQuery();

			if (rs.next()) {
				v = rs.getInt(1);
			}

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			daoUtilidades.release(stmt);
			daoUtilidades.release(conn);
		}
		System.out.println("IdContato: "+v);
		return v;
	}
}
